package nc.vo.gsp.pub.tools;

import java.io.Serializable;

import nc.vo.gsp.pub.barcodeparse.BarCodeParseVO;
import nc.vo.gsp.pub.bill.GeneralBillItemVO;
import nc.vo.med.gsp.bill.InvVO;
import nc.vo.pub.lang.UFDouble;

@SuppressWarnings( { "unchecked", "serial", "deprecation", "unused" })
public class KeyObject implements Serializable {

	public String m_cinventoryid;

	public String m_castunitid;

	public UFDouble m_hsl;

	public String m_batchcode;

	public String m_free0;

	public String m_vfree1;

	public String m_vfree2;

	public String m_vfree3;

	public String m_vfree4;

	public String m_vfree5;

	public String m_spaceid;

	public String m_cvendorid;

	public String m_rowno;

	public void setKeyValue(GeneralBillItemVO voItem) {
		m_cinventoryid = voItem.getCinventoryid();
		m_castunitid = voItem.getCastunitid();
		m_batchcode = voItem.getVbatchcode();

		Integer iHslMgt = voItem.getInv().getIsStoreByConvert();
		if (iHslMgt != null && iHslMgt.intValue() == 1)
			m_hsl = voItem.getHsl();
		else
			m_hsl = null;

		StringBuffer sbFree0 = new StringBuffer();
		for (int i = 1; i <= 5; i++) {
			if (voItem.getAttributeValue("vfree" + String.valueOf(i)) == null)
				continue;
			sbFree0.append((String) voItem.getAttributeValue("vfree"
					+ String.valueOf(i)));
		}
		if (sbFree0 != null && sbFree0.toString().length() > 0)
			m_free0 = sbFree0.toString();
		else
			m_free0 = null;

		m_spaceid = voItem.getCspaceid();
		m_cvendorid = voItem.getCvendorid();
		m_rowno = voItem.getCrowno();
	}

	public void setKeyValue(BarCodeParseVO voItem) {
		m_cinventoryid = (String) voItem.getAttributeValue("cinventoryid");
		m_castunitid = (String) voItem.getAttributeValue("castunitid");
		m_batchcode = (String) voItem.getAttributeValue("vbatchcode");

		Integer iHslMgt = (Integer) voItem
				.getAttributeValue("isstorebyconvert");
		if (iHslMgt != null && iHslMgt.intValue() == 1)
			m_hsl = new UFDouble(voItem.getAttributeValue("hsl").toString());
		else
			m_hsl = null;

		StringBuffer sbFree0 = new StringBuffer();
		for (int i = 1; i <= 5; i++) {
			if (voItem.getAttributeValue("vfree" + String.valueOf(i)) == null)
				continue;
			sbFree0.append((String) voItem.getAttributeValue("vfree"
					+ String.valueOf(i)));

		}
		m_vfree1 = (String) voItem.getAttributeValue("vfree1");
		m_vfree2 = (String) voItem.getAttributeValue("vfree2");
		m_vfree3 = (String) voItem.getAttributeValue("vfree3");
		m_vfree4 = (String) voItem.getAttributeValue("vfree4");
		m_vfree5 = (String) voItem.getAttributeValue("vfree5");

		if (sbFree0 != null && sbFree0.toString().length() > 0)
			m_free0 = sbFree0.toString();
		else
			m_free0 = null;

		m_spaceid = null;
		m_cvendorid = (String) voItem.getAttributeValue("cvendorid");
		m_rowno = null;
	}

	public void setKeyValue(InvVO voInv) {
		m_cinventoryid = voInv.getCinventoryid();
		m_castunitid = voInv.getCastunitid();

		Integer iHslMgt = voInv.getIsStoreByConvert();
		if (iHslMgt != null && iHslMgt.intValue() == 1)
			m_hsl = voInv.getHsl();
		else
			m_hsl = null;

		m_batchcode = voInv.getVbatchcode();

		StringBuffer sbFree0 = new StringBuffer();
		for (int i = 1; i <= 5; i++) {
			if (voInv.getAttributeValue("vfree" + String.valueOf(i)) == null)
				continue;
			sbFree0.append((String) voInv.getAttributeValue("vfree"
					+ String.valueOf(i)));
		}
		if (sbFree0 != null && sbFree0.toString().length() > 0)
			m_free0 = sbFree0.toString();
		else
			m_free0 = null;

		m_spaceid = voInv.getCspaceid();
		m_cvendorid = voInv.getCvendorid();
	}

	public String getAttributeValue(String sKey) {
		if (sKey.equals("cinventoryid"))
			return m_cinventoryid;
		else if (sKey.equals("castunitid"))
			return m_castunitid;
		else if (sKey.equals("hsl")) {
			if (m_hsl == null)
				return "";
			else
				return m_hsl.toString();
		} else if (sKey.equals("batchcode"))
			return m_batchcode;
		else if (sKey.equals("free0"))
			return m_free0;
		else if (sKey.equals("spaceid"))
			return m_spaceid;
		else if (sKey.equals("cvendorid"))
			return m_cvendorid;
		else if (sKey.equals("crownum"))
			return m_rowno;
		else if (sKey.equals("vfree1"))
			return m_vfree1;
		else if (sKey.equals("vfree2"))
			return m_vfree2;
		else if (sKey.equals("vfree3"))
			return m_vfree3;
		else if (sKey.equals("vfree4"))
			return m_vfree4;
		else if (sKey.equals("vfree5"))
			return m_vfree5;
		else
			return null;
	}

	public String getKeyValueCombine() {
		return null;
	}

}
